package com.dao.secondary.device;
import com.model.domain.device.GetDeviceObdBaseInfoDO;
import com.model.pojo.device.DeviceObdBaseInfo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface DeviceObdBaseInfoMapper {
    int deleteByPrimaryKey(@Param("deviceObdBaseInfoId") Long deviceObdBaseInfoId);

    int insert(DeviceObdBaseInfo record);

    int insertSelective(DeviceObdBaseInfo record);

    DeviceObdBaseInfo selectByPrimaryKey(@Param("id") Long id);

    DeviceObdBaseInfo selectByDtu(@Param("dtu") String dtu);
    List<DeviceObdBaseInfo> selectByImei(@Param("imei") String imei);
    List<DeviceObdBaseInfo> selectBySim(@Param("sim") String sim);

    int updateByPrimaryKeySelective(DeviceObdBaseInfo record);

    int updateByPrimaryKey(DeviceObdBaseInfo record);

    List<DeviceObdBaseInfo> selectList(GetDeviceObdBaseInfoDO getdeviceObdBaseInfoDO);
    List<Map<String,Object>> selectActivationDataInDay(GetDeviceObdBaseInfoDO getdeviceObdBaseInfoDO);
    List<DeviceObdBaseInfo> selectSimExpireList(GetDeviceObdBaseInfoDO getdeviceObdBaseInfoDO);

    void insertListSelective(List<DeviceObdBaseInfo> deviceObdBaseInfoList);

    void updateListSelective(List<DeviceObdBaseInfo> deviceObdBaseInfoList);

    int has(@Param("deviceObdBaseInfoId") Long deviceObdBaseInfoId, @Param("isDelete") Byte isDelete);

    long countByBatchId(Long batchId);
    long countByDomainId(Long domainId);
}